From 6fca4e449c1dee8eb4e8ef4717c5996dfc33507e Mon Sep 17 00:00:00 2001
From: Naushir Patuck <naush@raspberrypi.com>
Date: Tue, 29 Jun 2021 12:50:58 +0100
Subject: [PATCH] staging: vc04_services: isp: Set the YUV420/YVU420
 format stride to 64 bytes

The bcm2835 ISP requires the base address of all input/output planes to have 32
byte alignment. Using a Y stride of 32 bytes would not guarantee that the V
plane would fulfil this, e.g. a height of 650 lines would mean the V plane
buffer is not 32 byte aligned for YUV420 formats.

Having a Y stride of 64 bytes would ensure both U and V planes have a 32 byte
alignment, as the luma height will always be an even number of lines.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
---
 drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h
+++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h
@@ -48,7 +48,7 @@ static const struct bcm2835_isp_fmt supp
 		/* YUV formats */
 		.fourcc		    = V4L2_PIX_FMT_YUV420,
 		.depth		    = 8,
-		.bytesperline_align = 32,
+		.bytesperline_align = 64,
 		.mmal_fmt	    = MMAL_ENCODING_I420,
 		.size_multiplier_x2 = 3,
 		.colorspace_mask    = V4L2_COLORSPACE_MASK_YUV,
@@ -57,7 +57,7 @@ static const struct bcm2835_isp_fmt supp
 	}, {
 		.fourcc		    = V4L2_PIX_FMT_YVU420,
 		.depth		    = 8,
-		.bytesperline_align = 32,
+		.bytesperline_align = 64,
 		.mmal_fmt	    = MMAL_ENCODING_YV12,
 		.size_multiplier_x2 = 3,
 		.colorspace_mask    = V4L2_COLORSPACE_MASK_YUV,
